package com.ruoyi.api.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 应用管理对象 app_manage
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public class AppManage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 应用ID */
    private Long appId;

    /** 应用名称 */
    @Excel(name = "应用名称")
    private String appName;

    /** 服务ID（外键） */
    @Excel(name = "服务ID", readConverterExp = "外=键")
    private Long apiId;

    /** 应用描述 */
    @Excel(name = "应用描述")
    private String appDescription;

    /** 创建应用用户 */
    @Excel(name = "创建应用用户")
    private String appUser;

    /** 应用类型（手动、定时、全部） */
    @Excel(name = "应用类型", readConverterExp = "手=动、定时、全部")
    private String appType;

    /** 服务秘钥 */
    @Excel(name = "服务秘钥")
    private String apiKey;

    /** 安全秘钥 */
    @Excel(name = "安全秘钥")
    private String secretKey;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 设备ID（外键） */
    @Excel(name = "设备ID", readConverterExp = "外=键")
    private Long deviceId;

    /** 应用状态（0正常 1停用） */
    @Excel(name = "应用状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setAppId(Long appId) 
    {
        this.appId = appId;
    }

    public Long getAppId() 
    {
        return appId;
    }

    public void setAppName(String appName) 
    {
        this.appName = appName;
    }

    public String getAppName() 
    {
        return appName;
    }

    public void setApiId(Long apiId) 
    {
        this.apiId = apiId;
    }

    public Long getApiId() 
    {
        return apiId;
    }

    public void setAppDescription(String appDescription) 
    {
        this.appDescription = appDescription;
    }

    public String getAppDescription() 
    {
        return appDescription;
    }

    public void setAppUser(String appUser) 
    {
        this.appUser = appUser;
    }

    public String getAppUser() 
    {
        return appUser;
    }

    public void setAppType(String appType) 
    {
        this.appType = appType;
    }

    public String getAppType() 
    {
        return appType;
    }

    public void setApiKey(String apiKey) 
    {
        this.apiKey = apiKey;
    }

    public String getApiKey() 
    {
        return apiKey;
    }

    public void setSecretKey(String secretKey) 
    {
        this.secretKey = secretKey;
    }

    public String getSecretKey() 
    {
        return secretKey;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setDeviceId(Long deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() 
    {
        return deviceId;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("appId", getAppId())
            .append("appName", getAppName())
            .append("apiId", getApiId())
            .append("appDescription", getAppDescription())
            .append("appUser", getAppUser())
            .append("appType", getAppType())
            .append("apiKey", getApiKey())
            .append("secretKey", getSecretKey())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("deviceId", getDeviceId())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
